﻿using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;
using System;


namespace Sustainalytics.Entities
{
	

	/// <remarks>
	/// Title: max 100 characters
	/// Summary: max 5000 characters
	/// Image: jpg, png, max  200 x 251 characters
	/// File: max 10 megs
	/// </remarks>
	public class Insight: IEntity
	{
		public  string Title
		{
			get;
			set;
		}

		public  DateTime DatePublished
		{
			get;
			set;
		}

		public  Guid Id
		{
			get;
			set;
		}

		public  string Summary
		{
			get;
			set;
		}

        [BsonRepresentation(BsonType.String)]
		public  InsightState State
		{
			get;
			set;
		}

		public  DateTime DateUnPublished
		{
			get;
			set;
		}

		public  Guid AddedByUserId
		{
			get;
			set;
		}


		public string AddedByUserName
		{
			get;
			set;
		}

		public string AddedByUserNameLowerCase
		{
			get;
			set;
		}

		public  string TitleLowercase
		{
			get;
			set;
		}

		public  Guid? InsightSectorId
		{
			get;
			set;
		}

		public  Guid? InsightTopicId
		{
			get;
			set;
		}

		public  Guid ImageId
		{
			get;
			set;
		}

		public  Guid FileId
		{
			get;
			set;
		}

		public string ImageS3Name
		{
			get;
			set;
		}

		public string FileS3Name
		{
			get;
			set;
		}
	}
}

